import pygame
import time

# 初始化
pygame.init()
# 这里是设置的常量值
FPS = 65
# 游戏的背景颜色
BG_COLOR = pygame.Color(112, 128, 105)
# 屏幕大小
SIZE = pygame.display.list_modes()[0]
SHIJIAN = time.strftime("%Y.%m.%d %H:%M:%S", time.localtime(time.time()))


class MyGame:
    """这是一个游戏的主类"""

    windos = None
    clock = None

    def run_game(self):
        MyGame.windos = pygame.display.set_mode(
            (SIZE[0] / 2, SIZE[1] / 2), flags=pygame.RESIZABLE
        )
        # 设置屏幕的刷新
        MyGame.clock = pygame.time.Clock()

        # 创建我们的坦克
        tk = MyTank()

        while 1:
            """需要循环执行的代码"""
            # 游戏的帧率
            MyGame.clock.tick(FPS)
            #这个是刷新率
            r = MyGame.clock.get_fps()
            #这个是标题
            pygame.display.set_caption(f"坦克大战1.0\t\t{SHIJIAN}\t\t\t\t\tfps:{r:.2f}")

            #这个是背景颜色
            MyGame.windos.fill(BG_COLOR)
            #这个是获取窗口的位置
            MyGame.windos.get_rect()

            #这个是绘制我们的坦克
            tk.draw(MyGame.windos)

            # 实现我们窗口最大化最小化 可以关闭窗口
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    exit()

            #这个是刷新
            pygame.display.update()

class MyTank:
    """坦克类"""

    def __init__(self):
        # 坦克的路径
        self.image = pygame.image.load("./imag/myTankU.gif")
        # 获取我们坦克的矩形位置 尺寸
        self.rect = self.image.get_rect()

        # 绘制我方坦克的位置  获取窗口位置  设置我们坦克的位置
        MyGame.windos1 = MyGame.windos.get_rect()
        self.rect.centerx = MyGame.windos1.centerx
        self.rect.centery = MyGame.windos1.centery + 200

    def draw(self, surface):
        surface.blit(self.image, self.rect)


if __name__ == "__main__":
    MyGame().run_game()
